package com.bwda.dsrs.systemservice.domain.po.user;

import com.bwda.dsrs.base.centerbase.form.BaseQueryForm;
import com.bwda.dsrs.base.util.DateUtil;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;


/**
 * 用户表
 *
 * @author youzhen
 * @date 2019年4月28日
 */
@Data
public class UserPo extends BaseQueryForm {

	/**
	 * 用户ID
	*/
	private Integer userId;
	/**
	 * 用户编码
	*/
	private String userCode;
	/**
	 * 姓名
	*/
	private String userName;

	/**
	 * 工号
	*/
	private String empNo;
	/**
	 * 密码
	*/
	private String password;
	/**
	 * 数据盐
	*/
	private String salt;
	/**
	 * 组织ID
	*/
	private Integer orgId;
	/**
	 * 组织名
	 */
	private String orgName;
	/**
	 * 角色名
	 */
	private String roleName;
	/**
	 * 手机号码
	*/
	private String mobilePhone;
	/**
	 * 邮箱地址
	*/
	private String email;
	/**
	 * 用户职级
	*/
	private Integer userLevel;
	/**
	 * 备注
	*/
	private String remark;
	/**
	 * 0正常1冻结2离职3锁定4注销
	*/
	private Integer userState;
	/**
	 * 历史密码1
	*/
	private String hisPwdOne;
	/**
	 * 历史密码2
	*/
	private String hisPwdOtwo;
	/**
	 * 创建时间
	*/
	private Date createTime;
	/**
	 * 创建人编号
	*/
	private String createUserCode;
	/**
	 * 创建人
	 */
	private String createUser;
	/**
	 * 更新时间
	*/
	private Date updateTime;
	/**
	 * 更新人编号
	*/
	private String updateUserCode;
	/**
	 * 0未删除 1已删除
	*/
	private Integer delFlag;
	/**
	 * 0未删除 1已删除
	 */
	private Integer status;
	/**
	 * 用户角色CODE
	 */
	private Integer roleId;
	/**
	 * 是否修改密码  1：修改，0：不修改
	 */
	private Integer pwdEdit;

	/**
	 * 是否修改密码提醒  1：修改，0：不修改
	 */
	private Integer pwdEditWarning;

	/**
	 * 距密码到期剩几天
	 */
	private Integer pwdWarningDays;

	/**
	 * 0女1男
	 */
	private Integer sex;
	/**
	 * 出生日期
	 */
	@DateTimeFormat(pattern = DateUtil.DATE_PATTERN)
	private Date bornDate;
	/**
	 * 籍贯
	 */
	private String nativePlace;
	/**
	 * 身份证
	 */
	private String identityCard;
	/**
	 * 学历
	 */
	private String degree;
	/**
	 * 毕业学校
	 */
	private String graduateSchool;
	/**
	 * 固定电话
	 */
	private String telphone;
	/**
	 * 传真
	 */
	private String fax;
	/**
	 * 工作职业
	 */
	private String profession;
	/**
	 * 工作岗位
	 */
	private String jobPost;
	/**
	 * 职务
	 */
	private String position;
	/**
	 * 办公地址
	 */
	private String officeAddress;
	/**
	 * 公司名称
	 */
	private String companyName;
	/**
	 * 公司地址
	 */
	private String companyAddress;
	/**
	 * 家庭住址
	 */
	private String homeAddress;
	/**
	 * 职级名称
	 */
	private String levelName;
	/**
	 * 用户是否绑定自定义组
	 */
	private Boolean checkedFlag;

	/**
	 * 用户来源  1:自建用户 2：同步用户
	 */
	private Integer userSource;

	public Date getCreateTime() {
		if (createTime != null){
			return (Date) createTime.clone();
		}

		return null;
	}

	public void setCreateTime(Date createTime) {
		if (createTime != null){
			this.createTime = (Date) createTime.clone();
		}
	}

	public Date getUpdateTime() {
		if (updateTime != null){
			return (Date) updateTime.clone();
		}

		return null;
	}

	public void setUpdateTime(Date updateTime) {
		if (updateTime != null){
			this.updateTime = (Date) updateTime.clone();
		}
	}

	public Date getBornDate() {
		if (bornDate != null){
			return (Date) bornDate.clone();
		}

		return null;
	}

	public void setBornDate(Date bornDate) {
		if (bornDate != null){
			this.bornDate = (Date) bornDate.clone();
		}
	}
}